/* form popover hooks
*  浮窗表单 hooks
*  一般在 表格页（view视图）使用*/
import { ref, nextTick } from 'vue'

export default function usePopoverHandle() {
    const visibleFormPop = ref(false)
    const isShowDialog = ref(false)
    // 点击按钮的el
    const btnPopRef = ref()
    // 浮窗的ref
    const popFormRef = ref()
    // 显示浮窗表单，同时获取formData数据
    const showFormPop = (e, row,apiMethod) => {
        const evt = e || window.e || window.event
        // popData.value.id = row.id
        // 通过设置false 销毁popover, 解决闪现问题
        if (btnPopRef.value) visibleFormPop.value = false
        nextTick(() => {
            // 显示浮窗
            btnPopRef.value = evt.currentTarget
            visibleFormPop.value = true
        }).then(() => {
            // 定义浮窗id 用于use-popover-handle.js 中的getFormDataById方法
            if(popFormRef.value){
                popFormRef.value.getFormDataById(row.id,apiMethod)
            }
        })
    }
    return {
        isShowDialog,
        visibleFormPop,
        btnPopRef,
        popFormRef,
        showFormPop
    }
}
